package reflect;

import reflect.annotations.AutoRunClass;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 要求：程序启动后，在控制台上任意输入一个类的完全限定名
 * 如果该类被注释@AutoRunClass标注，则进行实例化
 * 否则仅通知该类没有被此注解标注
 *
 * reflect.Person
 * 输出Person的toString
 *
 * reflect.Student
 * Student类没有被注解标注
 *
 * */
public class Test3 {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个类名");
        String clsname  = sc.nextLine();
        Class cls = Class.forName(clsname);
        //判断该类是否被标注了注解
        boolean make = cls.isAnnotationPresent(AutoRunClass.class);
        if (make){
            Object ob = cls.newInstance();
            System.out.println(ob);
           // System.out.println(Arrays.toString(cls.getDeclaredMethods()));
        }else {
            System.out.println(cls.getName()+"没有被注解标注");

        }

    }

}
